home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 051-075 / scopedisk69 / cclat / src / options.h < prev    next >
C/C++ Source or Header  |  1995-03-19  |  3KB  |  66 lines

  1. /*
  2.  * compiler options
  3.  * March 1989, Miles Bader
  4.  */
  5.  
  6. /* increase this for more options */
  7. #define MAXOPTS        64
  8.  
  9. #ifndef BITSPERLONG
  10. #define BITSPERLONG 32
  11. #endif
  12.  
  13. extern long globalOpts[MAXOPTS/BITSPERLONG];
  14.  
  15. #define options_IsSet(opt) \
  16.  (globalOpts[(opt)/BITSPERLONG]&(1L<<((opt)%BITSPERLONG)))
  17. #define options_Set(opt) \
  18.  (globalOpts[(opt)/BITSPERLONG]|=(1L<<((opt)%BITSPERLONG)))
  19. #define options_Clear(opt) \
  20.  (globalOpts[(opt)/BITSPERLONG]&=~(1L<<(long)((opt)%BITSPERLONG)))
  21.  
  22. void options_SetByName(char *optname);
  23. void options_Init();
  24.  
  25.  
  26. #define OPT_NONE       0
  27.  
  28. #define OPT_ANSI       1       /* enforce ansi fascism */
  29. #define OPT_CPP                2       /* compat with c++ */
  30. #define OPT_TRAD       3       /* use traditional style cpp */
  31.  
  32. #define OPT_ABSCODE    4       /* use long (absolute) addressing for function calls */
  33. #define OPT_ABSDATA    5       /* use long (absolute) addressing for data */
  34.  
  35. #define OPT_RELOADA4   6       /* reload reg a4 in each function */
  36. #define OPT_SHORTINTS  7       /* use short integers */
  37. #define OPT_REGARGS    8       /* use register argument passing */
  38. #define OPT_LONGALIGN  9       /* align everything to long boundaries */
  39. #define OPT_STACKCHECK 10      /* put stack-checking into the func prolog */
  40. #define OPT_PURESTRINGS        11      /* put strings in the text segment */
  41.  
  42. #define OPT_FFP                12      /* use mot fast floating point */
  43. #define OPT_881                13      /* compile for a 68881 */
  44. #define OPT_IEEE       14      /* ieee floating point */
  45.  
  46. #define OPT_68K                15      /* compile for a 68000 and up */
  47. #define OPT_020                16      /* compile for a 68020 and up */
  48. #define OPT_030                17      /* compile for a 68030 */
  49.  
  50. #define OPT_DETACH     18      /* make a program that runs in the background */
  51. #define OPT_TINYMAIN   19      /* use tinymain (this doesn't work) */
  52. #define OPT_RESIDENT   20      /* try and make resident-able */
  53. #define OPT_CATCH      21      /* compile in code to try and catch exceptions */
  54.  
  55. #define OPT_OPTIMIZE   22      /* optimize the obj module */
  56. #define OPT_LINK       23      /* link the object modules */
  57. #define OPT_COMPILE    24      /* (otherwise, just pre-process) */
  58. #define OPT_ASSEMBLE   25      /* emit object-modules (else assembly) */
  59. #define OPT_DEBUG      26      /* produce debugging info */
  60.  
  61. #define OPT_ECHO       27      /* echo what we execute */
  62. #define OPT_FILTER     28      /* filter out yucky message from passes */
  63. #define OPT_EXEC       29      /* actually run each pass */
  64.  
  65. #define OPT_BIGLC1     30      /* run lc1b instead of lc1 */
  66.